package pe.org.jhsystem.consola.applet;

import javax.swing.JApplet;
import javax.swing.JLabel;
import javax.swing.JOptionPane;

/**
 *
 * @author jhuamanv
 */
public class Ejemplo1 extends JApplet {
    //atributos de la clase
    private String mensaje;
    private JLabel etiqueta;
    private int i = 0;

    /**
     * El metodo constructor en un applet es reemplazado
     * por el metodo init.
     * Este metodo solo se ejecuta una vez.
     */
    public void init(){
        mensaje = "Hola estoy es un mesaje que se escribe en el applet";
        etiqueta = new JLabel(mensaje);
        //añade una etiqueta con el mensaje al contenedor del applet que es heredado de JApplet
        add(etiqueta);
    }

    /**
     * El metodo start se ejecuta despues del metodo init
     * y ada vez que volvemos a la página del applet,
     * cada vez que haya que arrancarlo (reload, maximizar...)
     */
    public void start(){
        mensaje = "Ejecuta metodo start, el valor de i = " + i;
        etiqueta.setText(mensaje);
        i++;
    }

    /**
     * El metodo stop para el applet cuando el nagevador
     * sale de la pagina,
     * las tareas que se detienen son las ejecutadas en start
     * este metodo es empleado para liberar recursos.
     */
    public void stop(){
        mensaje = "Ejecuta metodo stop, el valor de i = " + i;
        etiqueta.setText(mensaje);
        JOptionPane.showMessageDialog(this, mensaje);
    }

    /**
     * El metodo destroy se ejecuta cuando se cierra
     * el navegador, el applet deja de estar en el
     * caché del navegador, la proxima vez que se
     * ejecute el applet sera como la primera vez.
     */
    public void destroy(){
        mensaje = "Ejecuta metodo destroy, el valor de i = " + i;
        etiqueta.setText(mensaje);
        JOptionPane.showMessageDialog(this, mensaje);
    }
}